package com.zhonghui.wms.mapper;

import com.zhonghui.wms.domain.WmsCarrierApplication;
import com.zhonghui.wms.domain.WmsCarrierApplicationDetails;
import com.zhonghui.wms.domain.vo.WmsCarrierApplicationVo;

import java.util.List;

/**
 * 智能仓储WMS-运输管理-承运申请Mapper接口
 *
 * @author zhonghui
 * @date 2023-08-08
 */
public interface WmsCarrierApplicationMapper
{
    /**
     * 查询智能仓储WMS-运输管理-承运申请
     *
     * @param id 智能仓储WMS-运输管理-承运申请主键
     * @return 智能仓储WMS-运输管理-承运申请
     */
    public WmsCarrierApplicationVo selectWmsCarrierApplicationById(Long id);

    /**
     * 查询智能仓储WMS-运输管理-承运申请列表
     *
     * @param wmsCarrierApplication 智能仓储WMS-运输管理-承运申请
     * @return 智能仓储WMS-运输管理-承运申请集合
     */
    public List<WmsCarrierApplicationVo> selectWmsCarrierApplicationList(WmsCarrierApplication wmsCarrierApplication);

    /**
     * 新增智能仓储WMS-运输管理-承运申请
     *
     * @param wmsCarrierApplication 智能仓储WMS-运输管理-承运申请
     * @return 结果
     */
    public int insertWmsCarrierApplication(WmsCarrierApplication wmsCarrierApplication);

    /**
     * 修改智能仓储WMS-运输管理-承运申请
     *
     * @param wmsCarrierApplication 智能仓储WMS-运输管理-承运申请
     * @return 结果
     */
    public int updateWmsCarrierApplication(WmsCarrierApplication wmsCarrierApplication);

    /**
     * 删除智能仓储WMS-运输管理-承运申请
     *
     * @param id 智能仓储WMS-运输管理-承运申请主键
     * @return 结果
     */
    public int deleteWmsCarrierApplicationById(Long id);

    /**
     * 批量删除智能仓储WMS-运输管理-承运申请
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWmsCarrierApplicationByIds(Long[] ids);

    /**
     * 批量删除智能仓储WMS-运输管理-承运申请明细
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWmsCarrierApplicationDetailsByCarrierApplicationIds(Long[] ids);

    /**
     * 批量新增智能仓储WMS-运输管理-承运申请明细
     *
     * @param wmsCarrierApplicationDetailsList 智能仓储WMS-运输管理-承运申请明细列表
     * @return 结果
     */
    public int batchWmsCarrierApplicationDetails(List<WmsCarrierApplicationDetails> wmsCarrierApplicationDetailsList);


    /**
     * 通过智能仓储WMS-运输管理-承运申请主键删除智能仓储WMS-运输管理-承运申请明细信息
     *
     * @param id 智能仓储WMS-运输管理-承运申请ID
     * @return 结果
     */
    public int deleteWmsCarrierApplicationDetailsByCarrierApplicationId(Long id);
}
